/**
 * 
 */
package org.dragonfire.ti;

/**
 * @author Darth Android
 * @date Dec 26, 2007
 */
public interface TIConstants {

	public static final int CALC_73 = 0;
	public static final int CALC_82 = 1;
	public static final int CALC_83 = 2;
	public static final int CALC_85 = 4;
	public static final int CALC_86 = 5;
	public static final int CALC_89 = 6;
	public static final int CALC_8X = 3;
	public static final int CALC_92 = 7;
	public static final int TYPE_APP_VAR = 12;
	public static final int TYPE_COMPLEX_CONSTANT = 18;
	public static final int TYPE_COMPLEX_LIST = 11;
	public static final int TYPE_COMPLEX_MATRIX = 15;
	public static final int TYPE_COMPLEX_NUMBER = 10;
	public static final int TYPE_COMPLEX_VECTOR = 14;
	public static final int TYPE_CONSTANT = 17;
	public static final int TYPE_EQUATION = 3;
	public static final int TYPE_GRAPH_DATABASE = 8;
	public static final int TYPE_LIST = 1;
	public static final int TYPE_MATRIX = 2;
	public static final int TYPE_NEW_EQUATION = 9;
	public static final int TYPE_PICTURE = 7;
	public static final int TYPE_PROGRAM = 5;
	public static final int TYPE_PROTECTED_PROGRAM = 6;
	public static final int TYPE_REAL_NUMBER = 0;
	public static final int TYPE_STRING = 4;
	public static final int TYPE_VECTOR = 13;

	public static final String[] CALC_NAMES = {
			"TI-73", "TI-82", "TI-83", "TI-83+", "TI-85", "TI-86", "TI-89", "TI-92"
	};

	public static final String[] TYPE_NAMES = {
			"Real Number", "Real List", "Real Matrix", "Equation", "String", "Program", "Protected Program", "Picture",
			"GDB", "New Equation", "Complex Number", "Complex List", "Application Variable", "Vector",
			"Complex Vector", "Complex Matrix", "????", "Constant", "Complex Constant"
	};

	public static class TI8X {

		private TI8X() {
			// no instances
		}

		public static final String NAME = CALC_NAMES[CALC_8X];

		public static final int[] PROGRAM = {
				CALC_8X, TYPE_PROGRAM
		};
		public static final int[] PROTECTED_PROGRAM = {
				CALC_8X, TYPE_PROTECTED_PROGRAM
		};
		public static final int[] STRING = {
				CALC_8X, TYPE_STRING
		};

		public static final int[] LIST = {
				CALC_8X, TYPE_LIST
		};

		public static final int[] COMPLEX_NUMBER = {
				CALC_8X, TYPE_COMPLEX_NUMBER
		};

		public static final int[] REAL_NUMBER = {
				CALC_8X, TYPE_REAL_NUMBER
		};

	}
}
